﻿using HECore.Common.Entitys;
using HECore.Tenant.Contract.Enums;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HECore.Tenant.Repository.Entites
{
    /// <summary>
    /// 员工表
    /// </summary>
    [Comment("员工表")]
    public class Employee : EmployeeDeletionAudited
    {
        /// <summary>
        /// 员工Id
        /// </summary>
        [Key]
        [Comment("员工Id")]
        [Column(Order = 0)]
        public Guid Id { get; set; }

        /// <summary>
        /// 账号Id
        /// </summary>
        [Comment("账号Id")]
        [Column(Order = 1)]
        public Guid AccountId { get; set; }

        /// <summary>
        /// 员工姓名
        /// </summary>
        [Comment("员工姓名")]
        [Required]
        [MaxLength(55)]
        [Column(Order = 2)]
        public string EmployeeFullName { get; set; }

        /// <summary>
        /// 员工邮箱
        /// </summary>
        [Comment("员工邮箱")]
        [MaxLength(32)]
        [Column(Order = 3)]
        public string EmployeeEmail { get; set; }

        /// <summary>
        /// 员工状态
        /// </summary>
        [Comment("员工状态")]
        [Column(Order = 4)]
        public EmployeeStateEnum EmployeeState { get; set; }
    }
}
